﻿
#region 版权声明





//



// 
// 代码开源主要用于解决大家在学习和研究协议过程中遇到由于缺乏代码所带来的制约性问题。
// 本代码仅供学习交流使用，大家在使用此开发包前请自行协调好多方面关系，
// 不得用于任何商业用途和非法用途，本人不享受和承担由此产生的任何权利以及任何法律责任。
// 
// 本源代码可通过以下网址获取:
// http://www.vckers.com
//
// Copyright @ 2009-2010  vckers.com.  All Rights Reserved.   
// Framework: 3.5

  

 
//   
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. 
  
#endregion

using System;
using System.Collections.Generic;
using System.Text;


using TS.QQ.Packets;

namespace TS.QQ.Net
{
    public interface IConnection : IDisposable
    {
        /// <summary>
        /// 添加一个输出包
    /// </summary>
        /// <param name="outPacket">The out packet.</param>
        /// <param name="monitor">if set to <c>true</c> [monitor].true为同步发送，false为异步发送</param>
        void Send(OutPacket outPacket,bool monitor);
        /// <summary>
        /// 清空输出队列
    /// </summary>
        void ClearSendQueue();
        /// <summary>
        /// 连接到服务器
    /// </summary>
        bool Connect();
        /// <summary>
        /// 关闭连接
    /// </summary>
        void Close();
        /// <summary>
        /// 
    /// </summary>
        /// <value></value>
        ConnectionPolicy Policy { get; }
        /// <summary>
        /// 是否处于连接状态
    /// </summary>
        /// <value></value>
        bool IsConnected { get; }

        /// <summary>连接名称
    /// </summary>
        /// <value></value>
        string Name { get; }
    }
}
